var OnlineStoreSpecialPriceModule = { interval_recalculate_flash_countdown: null, initialize: function () { var module = this; $(document).on('click', '.top-flash-special-prices-close', function (event) { module.close_top_flash_special_prices(); }); module.interval_recalculate_flash_countdown = setInterval(function () { module.recalculate_flash_countdown(); }, 1000); }, close_top_flash_special_prices: function () { $('.top-flash-special-prices').remove(); }, recalculate_flash_countdown: function () { var module = this; var countdown_p = $('.top-flash-special-prices').first(); if (countdown_p.length == 0) { clearInterval(this.interval_recalculate_flash_countdown); return; } var countdown_span = countdown_p.find('.top-flash-special-prices-countdown'); var countdown_date_end = new Date(countdown_span.attr('date_to')); countdown_date_end.setHours(23); countdown_date_end.setMinutes(59); countdown_date_end.setSeconds(59); var text = OnlineStoreSpecialPriceModule.get_flash_special_price_remaining_time_text(countdown_date_end); if (text === false) { clearInterval(module.interval_recalculate_flash_countdowns); module.close_top_flash_special_prices(); return; } countdown_span.html(text); }, get_flash_special_price_remaining_time_text: function (countdown_date_end) { var current_date = new Date(); var unit_translation = _t('product_flash_special_price_seconds'); var unit_quantity = 0; var days_difference = UtilModule.get_days_difference_between_dates(countdown_date_end, current_date); if (days_difference > 0) { if (days_difference > 1) { unit_translation = _t('product_flash_special_price_days'); days_difference = parseInt(days_difference); if (days_difference == 1) { unit_translation = _t('product_flash_special_price_day'); } unit_quantity = days_difference; } else { var hours_difference = UtilModule.get_hours_difference_between_dates(countdown_date_end, current_date); if (hours_difference > 1) { unit_translation = _t('product_flash_special_price_hours'); hours_difference = parseInt(hours_difference); if (hours_difference == 1) { unit_translation = _t('product_flash_special_price_hour'); } unit_quantity = hours_difference; } else { var minutes_difference = UtilModule.get_minutes_difference_between_dates(countdown_date_end, current_date); if (minutes_difference > 1) { unit_translation = _t('product_flash_special_price_minutes'); minutes_difference = parseInt(minutes_difference); if (minutes_difference == 1) { unit_translation = _t('product_flash_special_price_minute'); } unit_quantity = minutes_difference; } else { var seconds_difference = UtilModule.get_seconds_difference_between_dates(countdown_date_end, current_date); if (seconds_difference > 1) { unit_translation = _t('product_flash_special_price_seconds'); seconds_difference = parseInt(seconds_difference); if (seconds_difference == 1) { unit_translation = _t('product_flash_special_price_second'); } unit_quantity = seconds_difference; } } } } } else { return false; } return unit_quantity + ' ' + unit_translation; } }; $(function () { OnlineStoreSpecialPriceModule.initialize(); });